<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- Array.from()
        Aray.from方法用于将类数组转为真正的数组
        
        温馨提示
        常见的（伪）类数组有三类：
        arguments
        元素集合
        类似数组的对象 
        
        Array.of()
        Array.of()方法用于将一组值，转换为数组
        -->
        
        <h3>标题1</h3>
        <h3>标题2</h3>
        <h3>标题3</h3>

        <script>

            //arguments函数中的一个可选参数
            //类数组，伪数组，只能使用数组的读取方式和length属性，不能使用数组方法（push）
            function add(){
                console.log(arguments);//可以读取到10，20，30
                console.log(arguments[0]);//10
                console.log(arguments[1]);//20
                console.log(arguments[2]);//30
                
                // arguments.push(40);//报错

                console.log(Array.from(arguments));
                
                //Array.from将伪数组转换成真正的数组
                
                
            }
            add(10,20,30);

            //元素集合的伪数组
            let titles = document.querySelectorAll("h3");
            console.log(titles);//NodeList 集合

            console.log(Array.from(titles));//转换
            
            //类似数组的对象
            var user = {
                "0":"iwen",
                "1":20,
                "2":"男",
                length:3
            }
            console.log(user);
            console.log(user["0"]);
            console.log(user["1"]);
            console.log(user["2"]);
            console.log(user.length);
            
            //转换
            console.log(Array.from(user));
            
            
            // Array.of()方法用于将一组值，转换为数组
            console.log(Array.of(1,2,3));
            
        </script>

</body>
</html>